package com.miyuan.wm.service;

import com.miyuan.wm.request.AddGoodsRequestVo;
import com.miyuan.wm.request.QueryGoodsRequestVo;
import com.miyuan.wm.request.UpdateGoodsRequestVo;
import com.miyuan.wm.response.BaseResponse;
import com.miyuan.wm.response.PageResponse;
import com.miyuan.wm.response.QueryGoodByIdResponseVo;
import com.miyuan.wm.response.QueryGoodsResponseVo;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * @ClassName GoodsService
 * @Description 货物管理接口
 */
public interface GoodsService {

    /**
     * @Description 查询货物列表
     * @param:
     * @return:
     */
    PageResponse<List<QueryGoodsResponseVo>> listGoods(QueryGoodsRequestVo requestVo);

    /**
     * @Description 新增货物信息
     * @param:
     * @return:
     */
    BaseResponse<Boolean> addGoods(AddGoodsRequestVo requestVo);

    /**
     * @Description 修改货物信息
     * @param:
     * @return:
     */
    BaseResponse<Boolean> updateGoods(UpdateGoodsRequestVo requestVo);

    /**
     * @Description 删除货物信息
     * @param:
     * @return:
     */
    BaseResponse<Boolean> deleteGoods(List<Integer> ids);

    /**
     * @Description 查询货物信息，供下拉框使用
     * @param:
     * @return:
     */
    BaseResponse<List<QueryGoodsResponseVo>> queryGoodsforSelect();

    /**
     * @Description 根据Id查询货物信息
     * @param:
     * @return:
     */
    BaseResponse<QueryGoodByIdResponseVo> queryGoodById(@RequestParam int id);

}
